package persistent.dao;

import java.util.List;

import model.TDimension;
import model.TDimensionScore;

/**
 * 量表维度处理业务接口
 * @author 徐震霖
 * @since 2019-02-21
 * @since 改动 2019/2/25 djf
 */
public interface IDimensionDAO {
	
	/**
	 * 添加一个量表维度信息
	 * @param dimension 量表维度对象
	 * @return 成功返回自带给您编号列id，失败返回一个小于0的数
	 * @author djf
	 */
	public boolean addDimension(TDimension dimension);
	
	/**
	 * 删除一条量表维度信息（必须先删除了为读标准分才可以删除维度）
	 * @param dimensionid 量表维度信息编号
	 * @return 成功返回true，失败返回false
	 * @author djf
	 */
	public boolean deleteDimension(int dimensionid);
	
	/**
	 * 修改一个量表维度信息
	 * @param dimension 量表维度信息对象
	 * @return 成功返回true，失败返回false
	 * @author djf
	 */
	public boolean updateDimension(TDimension dimension);
	
	/**
	 * 根据id获得一条量表维度信息
	 * @param dimensionid 量表维度信息编号
	 * @return 成功返回量表维度对象，失败返回null
	 * @author djf
	 */
	public TDimension getTDimension(int dimensionid);
	
	/**
	 * 根据条件获取量表维度信息对象列表(不带分页)
	 * @param strWhere 查询条件
	 * @return 成功返回量表维度对象列表，失败返回null
	 * @author djf
	 */
	public List<TDimension> getDimensions(String strWhere);
	
	/**
	 * 根据条件获取量表维度信息对象列表(带分页)
	 * @param strwhere 插叙条件
	 * @param currentPage 当前页
	 * @param pageSize 每页数
	 * @return 成功返回量表维度对象列表，失败返回null
	 * @author djf
	 */
	public List<TDimension> getDimensions(String strwhere,int currentPage,int pageSize);
	
	/**
	 * 添加一个量表维度标准分信息（先添加量表维度，再添加标准分）
	 * @param score 量表维度标准分对象
	 * @return 成功返回一个量表维度标准分信息编号，失败返回一个小于0的数
	 * @author djf
	 */
	public int addDimensionScore(TDimensionScore score);
	
	/**
	 * 删除一条量表维度标准分信息
	 * @param dimensionScoreid 量表维度标准分编号
	 * @return 成功返回true，失败返回false
	 * @author djf
	 */
	public boolean deleteDimensionScore(int dimensionScoreid);
	
	/**
	 * 修改一个量表维度标准分信息
	 * @param dScore 量表维度标准分对象
	 * @return 成功返回true，失败返回false
	 * @author djf
	 */
	public boolean updateDimensionScore(TDimensionScore dScore);
	
	/**
	 * 根据ID获得一条量表维度标准分信息
	 * @param dimensionScoreid 量表维度标准分信息编号
	 * @return 成功返回量表维度标准分对象，失败返回null
	 * @author djf
	 */
	public TDimensionScore getTDimensionScore(int dimensionScoreid);
	
	/**
	 * 根据条件获取量表维度标准分信息对象列表
	 * @param strWhere 查询条件
	 * @return 成功返回量表维度标准分对象列表，失败返回null
	 * @author djf
	 */
	public List<TDimensionScore> getDimensionScores(String strWhere);
	
	/**
	 * 根据条件获取维度标准分列表
	 * @param strWhere 查询条件
	 * @param currentPage 当前页
	 * @param pageSize 每页条数
	 * @return 成功返回量表维度标准分列表，失败返回null
	 * @author djf
	 */
	public List<TDimensionScore> getDimensionScores(String strWhere, int currentPage, int pageSize);
	
}
